﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Gustozzi.DAL;
using Gustozzi.BL;

namespace WebGustozzi.ModuloVentas
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        VentasDataEntities contexto=null;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                inicializar();
            }
        }

        public void inicializar()
        {
            if (contexto == null) 
            {
                contexto = new VentasDataEntities();
            }
            var tipoDocumento = from c in contexto.TiposDocumentosTributarios
                                select new {
                                Codigo=c.codigoTipoDocTrib,
                                Nombre=c.DocumentoTributario
                                };
            ddlTipDocTributario.DataSource = tipoDocumento;
            ddlTipDocTributario.DataTextField = "Nombre";
            ddlTipDocTributario.DataValueField = "Codigo";
            ddlTipDocTributario.DataBind();


            var estados = from c in contexto.Estados
                          select new 
                          {
                              Codigo=c.codigoEstado,
                              Nombre=c.nombre
                          };
            ddlEstado.DataSource = estados;
            ddlEstado.DataTextField = "Nombre";
            ddlEstado.DataValueField = "Codigo";
            ddlEstado.DataBind();

        }

        protected void Button1_Click(object sender, EventArgs e)
        {

        }

        protected void imbCerrar_Click(object sender, ImageClickEventArgs e)
        {
            Response.Redirect("../wfPrincipal.aspx");
        }

        protected void imbAgregarProducto_Click(object sender, EventArgs e)
        {
            try
            {

            }
            catch (Exception)
            {
                
                throw;
            }
        }

        protected void txtCodigoCliente_TextChanged(object sender, EventArgs e)
        {
            try
            {
                if (contexto == null) 
                {
                    txtNombreCliente.Text=string.Empty;
                    if (txtCodigoCliente.Text.Trim().Equals(string.Empty))
                    {
                        contexto = new VentasDataEntities();
                        int idCliente = Convert.ToInt32(txtCodigoCliente.Text.Trim());
                        var lstClientes = from c in contexto.Clientes
                                          where c.codigoCliente == idCliente
                                          select c;

                        if (lstClientes.Count() > 0) 
                        {
                            Cliente oCliente=lstClientes.First();
                            txtNombreCliente.Text = oCliente.apellidoPaternoCliente + " " + oCliente.apellidoMaternoCliente + ", " +  oCliente.nombreCliente;
                        }
                    }
                    
                }
            }
            catch (Exception)
            {
                
                throw;
            }
        }

        protected void imbGuardar0_Click(object sender, ImageClickEventArgs e)
        {
            try
            {
                if(contexto==null)
                {
                    contexto= new VentasDataEntities();
                }
                var oDocumento = from c in contexto.DocumentosTributario
                                 select c.codigoDocTrib;

                int idDocumento = 1;
                if (oDocumento.Count()>0) 
                {
                    idDocumento = oDocumento.Max();
                    idDocumento += 1;
                }
                LimpiarCampos();
                hdfIdDoc.Value = idDocumento.ToString();
                
            }
            catch (Exception)
            {
                
                throw;
            }
        }
        public void LimpiarCampos() 
        {
            txtNumeroSerie.Text = string.Empty;
            txtCorrelativo.Text = string.Empty;
            txtFechaEmision.Text = string.Empty;
            ddlEstado.SelectedIndex = 0;
            ddlTipDocTributario.SelectedIndex = 0;
            txtDireccion.Text = string.Empty;
            txtFechaVencimiento.Text = string.Empty;
            grvListaProductos.DataSource = null;
            txtMontoNeto.Text = string.Empty;
            txtMontoImpuestos.Text = string.Empty;
            txtMontoTotal.Text = string.Empty;
            Session["listaProductos"] = null;
        }

    }
}